<?php
class TipoSeguroDAO{
	
	private static  $instanciaUnica;
	private $conexao;
	
	private function __construct(){
		$this->conexao = Conexao::getConexao();
	}

	public static function getInstancia(){
		if (!isset(self::$instanciaUnica))
		self::$instanciaUnica = new TipoSeguroDAO();
		return self::$instanciaUnica;
	}

	public function lista(){
		$lista	=	Array();
		$rs		=	new QueryMySql();
		$rs->setQuery("Select * From tbl_tiposeguro");
		while ($rs->getrow()){
			$ts = new TipoSeguro();
			$ts->setCodTipoSeguro($rs->field("codTipoSeguro"));
			$ts->setDescricao($rs->field("descricao"));
			$lista[] = $ts;
		}
		return $lista;
	}

	public function insertTipoSeguro(TipoSeguro $tipoSeguro){
		$sql 		= new UpdateSQL();
		$sql->setTable("tbl_tiposeguro");
		$sql->addField("descricao", $tipoSeguro->getDescricao(),"String");
		$sql->setAction("INSERT");
		return $this->conexao->execute($sql->getSQL());
	}

	public function updateTipoSeguro(TipoSeguro $tipoSeguro){
		$sql 		= new UpdateSQL();
		$sql->setTable("tbl_tiposeguro");
		$sql->setKey("codTipoSeguro", $tipoSeguro->getCodTipoSeguro(),"Number");
		$sql->addField("descricao", $tipoSeguro->getDescricao(),"String");
		$sql->setAction("UPDATE");
		return $this->conexao->execute($sql->getSQL());
	}

	public function deleteTipoSeguro(TipoSeguro $tipoSeguro){
		//$instituicao = new Instituicao();
		$sql = new UpdateSQL();
		$sql->setTable("tbl_tiposeguro");
		$sql->setKey("codTipoSeguro", $tipoSeguro->getCodTipoSeguro(), "Number");
		$sql->setAction("DELETE");
		return $this->conexao->executeUpdate($sql->getSQL());
	}
}
?>